package com.gitee.wsl.mathematics.geometry.d2.api

import com.gitee.wsl.mathematics.coordinate.d2.Coordinate2
import com.gitee.wsl.mathematics.geometry.api.op.Movable

interface Movable2<T:Number,V: Coordinate2<T, V>>:Movable<T,V> {
    /** Creates a new shape with the same size but the current position [offset] by the given amount. */
    override fun movedBy(offset: V): Movable2<T,V>

    /** Creates a new shape with the same size but the current position is set to [position]. */
    override fun movedTo(position: V):Movable2<T,V>
}